perm filename CNVR.RNO[S,DWP] blob sn#032198 filedate 1975-04-19 generic text, type T, neo UTF8
.DS.NPB
.LC.CS.F.AJ

.UD5
1. TO RUN ↑CONNIVER, TYPE ↑-RU CNV[2170,11]↑-. THIS WILL GIVE YOU A LITTLE
OVER 2↑K OF FREE STORAGE, WITH THE SYSTEM STARTING IN 36↑K.
.UD5
2. THE TOP LEVEL IS ALREADY SET UP. THE DATA BASE IS ALSO ALREADY 
INITIALIZED. IF YOU NEED TO RE-INITIALIZE THE DATA BASE, YOU WILL
PROBABLY HAVE TO EXPAND ↑B.↑P.↑S.
NOTE THAT IF YOU DO A ↑←↑-(STOP)↑←↑- OR GENERATE AN ERROR WHILE
IN ↑-LISP↑- THIS WILL TAKE YOU BACK TO ↑-CONNIVER↑-. TO GET IN
↑-LISP↑- AND STAY THERE DO A (↑←↑-INITFN NIL↑←↑-). 
NOTE IN PARTICULAR THAT IF YOU EXIT FROM EDITING A ↑-LISP↑- FUNCTION
WITH A ↑←↑-(STOP)↑←↑- THIS IS AN ERROR AND YOU END UP BACK IN
↑-CONNIVER↑- EDITING ↑-CONNIVER↑- CEXPRS AND METHODS IS ERROR PROTECTED
AND YOU WILL NOT BOUNCE BACK TO THE TOP LEVEL.
.UD5
3. THERE ARE QUITE A FEW CHANGES FROM THE AVAILABLE DOCUMENATION.
THE THREE MOST IMPORTANT ARE THE DISAPPEARANCE OF ↑-↑←CDEFGEN↑←↑- AND
THE HANDLING OF ↑←↑-ADD↑←↑- AND ↑←↑-REMOVE↑←↑-. TO USE A FUNCTION AS A ↑-GENERATOR↑-
FUNCTION, DEFINE IT AS A ↑←↑-CEXPR↑←↑- AND CALL IT USING THE FUNCTION
↑←↑-GENERATE↑←↑-.
 TO ADD OR REMOVE AN ITEM WITH THE BINDING OPTIONS (I.E. TO
USE THE ITEM AS A 'SKELETON') USE !" INSTEAD OF
' (THE NEW QUOTE MACRO). FOR THE VARIOUS OPTIONS FOR METHODS SEE ↑-↑←↑MAN.TJ↑←↑-.
.UD5
4. TO EDIT A ↑-CEXPR↑-, USE ↑←↑-EDITC↑←↑- (WHAT ELSE?).
.UD5
5. TO EDIT A ↑-METHOD↑- (↑-IF-ADDED↑-, ETC) USE ↑←↑-EDITD↑←↑-.
.UD5
↑←↑-NOTE THAT IT IS POSSIBLE TO EDIT A CEXPR OR A METHOD
AND EXITING FROM THE EDDITOR WITH OK OR SAVE HAVE THE
SAME EFFECT AS THOUGH YOU WERE EDITING A NORMAL LISP FUNCTION,
I.E. THE FUNCTION IS SAVE ON LASTWORD AND CAN BE RE-EDITED.
(HOWEVER, IF YOU JUST TYPE (EDITD) THE NAME
WILL NOT BE PRINTED)↑←↑-
.UD5
6. TO DEFINE A ↑-CEXPR↑- USE ↑←↑-CDE↑←↑-(↑←↑-CDEFUN↑←↑- IS STILL AROUND, HOWEVER)..
.UD5
7. GRINDEF WILL PRINT BOTH ↑-CEXPR↑-S AND ↑-METHOD↑-S. HOWEVER, ↑-METHOD↑-S
NEED TO BE ADDED.
THERE IS AN EQUIVALENT OF ↑-PLANNER↑-'S ↑←↑-THDATA↑←↑-
CALLED DATA. THIS IS A ↑-READ-ADD↑- LOOP WHICH WILL READ
THREE TYPES OF THINGS. WHEN IT READS AN ATOM, IT TAKES THAT ATOM
AS A ↑-METHOD↑- AND ADDS IT (THIS IS THE BEST WAY TO ADD
A ↑-METHOD↑- WHICH YOU SAVED ON A DISK FILE); NOTE THAT
THIS WILL FIRST REMOVE THE METHOD COMPLETELY AND THEN ↑-REA-DD↑- IT.
THIS AVOIDS ANY PROBLEMS WITH THE INDEXES THAT ARE PART OF THE
↑-METHOD↑- DEFINITION. A LIST OF THE FORM ((EXP)) IS THE
SAME AS TYPEING ↑←↑-(ADD '(EXP))↑←↑- (JUST LIKE ↑-PLANNER↑-).
IF THE EXPRESSION READ IS A LIST OF THE FROM (ATOM ...)
THE EVALUATED EXPRESSION WILL BE ADDED.(JUST AS IF YOU TYPED
(↑←↑-ADD↑←↑- (EXPRESSION)). THUS (↑←↑-IF-ADDED THM ...
)↑←↑- IS JUST LIKE TYPEING ↑←↑-(ADD(IF-ADDED ...)↑←↑-.
.UD5
8. IF YOU CAUSE A ↑-CONNIVER↑- ERROR, YOU ARE ESSENTIALLY IN ↑-LISP↑-. IN
OTHER WORDS, ANYTHING YOU TYPE WILL BE EVALUATED IN THE CONTEXT
OF ↑-LISP↑-. THUS IF THE ATOM ↑A IS BOUND IN ↑-CONNIVER↑-, BUT UNBOUND
IN ↑-LISP↑-, YOU MUST TYPE ,↑A TO GET THE CONNIVER BINDING.
TYPING $↑P WILL (IN MOST CASES) GET YOU OUT OF THE CURRENT
LEVEL OF THE ERROR. TYPING (↑←↑-RETURN↑←↑- EXP) WILL
EXIT THE CURRENT ERROR LEVEL WITH THE VALUE OF THE EVALUATION OF
EXP. ↑↑↑G WILL NORMALLY TAKE YOU BACK TO THE TOP LEVEL (↑←↑-EAR-1)↑←↑-.
YOU CAN RETURN TO ↑-LISP↑- BY USING THE FUNCTION (↑←↑-STOP↑←↑-).
HOWEVER, ANY UNPROTECTED (↑←↑-ERR↑←↑- )'S WILL TAKE YOU
BACK TO ↑-CONNIVER↑-.(THESE INCLUDE ↑↑↑↑ FROM THE BREAK PACKAGE,
↑←↑-STOP↑←↑- FROM THE USUAL EDITOR FUNCTIONS(NOT ↑←↑-EDITC↑←↑- OR
↑←↑-EDITD↑←↑-
 AND ↑↑↑G).
.UD5
9. IT IS AS EASY TO DESTROY ↑-CONNIVER↑- AS IT IS TO DESTROY ↑-GOL↑-
OR ↑-PLANNER↑-. HOWEVER, (↑←↑-DATA-INIT↑←↑-) WILL GIVE YOU A FRESH DATA BASE.
IN MOST CASES, THIS IS SUFFICIENT. 
(↑HOWEVER, IN MOST CASES, A NEW DATA BASE IN NOT
NECASSARY. JUST GET BACK TO THE TOP LEVEL).
IF YOU GET AN OBSCENE MESSAGE SUCH AS
↑←↑-U-LOSE↑←↑- FOLLOWED BY SOME GIBBERISH ABOUT AN UNDEFINED PC, YOU
ARE PROBABLY GARBAGED (TRY TO RESTART AND LET ME KNOW WHAT HAPPENS.
I HAVEN'T ENCOUNTERED IT YET).
.UD5
10. NOTE THAT IF YOU USE THE @ MACRO, YOU SHOULD UNDERSTAND
THAT THE EXPRESSION IS JUST GIVEN TO ↑←↑-EVAL↑←↑- AND ↑←↑-GO↑←↑- AND ↑←↑-RETURN↑←↑-
WILL FUNCTION AS WOULD ↑-LISP↑- FUNCTIONS. MOST
↑-LISP↑- FUNCTIONS HAVE CORRESPONDING ↑-CONNIVER↑- FUNCTIONS. (THEY
USUALLY START WITH A C. CHECK THE ↑-CINT↑- PROPERTY OF THE ↑-LISP↑- FUNCTION
FOR THE APPROPRIATE NAMES.). USE THE @MACRO WHENEVER POSSIBLE,
AS ↑-CONNIVER↑-'S INTERPRETER IS DEADLY SLOW. LOOK INTO THE READ MACROS.
.UD5
11. THERE IS NO TRACE FACILITY IN ↑-CONNIVER↑-. TO FOLLOW THE FLOW OF
CONTROL (TRACE /:). THIS WILL GIVE
YOUR A VERY GOOD INDICATION OF YOU FLOW OF CONTROL. HOWEVER, ARGUMENTS
WILL NOT BE PRINTED.
.UD5
12. NOTE THAT @ IS NO LONGER THE QUOTE MACRO, ' IS.
NOTE ALSO THAT " NO LONGER DELIMITS STRINGS.
NOTE EVEN MORE SO THAT ; CAN BE USED IN PLACE OF !
.LC
 AND WILL BE REPLACED
BY !.
.UD5
13. THERE IS ALSO A FUNCTION (↑←↑-CDUMP↑← (FILE.EXT) OPTIONAL1 OPTIONAL2)↑-.
THIS WILL DUMP ALL ↑-CEXPRS↑- AND ↑-DATUM↑- ON THE FILE.
IF THE OPTIONAL ARGUMENTS ARE GIVEN, (EITHER ↑-CEXPR↑- OR ↑-DATUM↑-)
ONLY THAT TYPE WILL BE PRINTED.
.SP
↑I.↑E. (↑-CDUMP(BULL.CNV))↑- IS EQUAL TO ↑-(CDUMP
(BULL.CNV)CEXPR DATUM)↑- AND DUMPS ALL OF THE CEXPRS AND
DATUM ON THE FILE (UNDER THE SPECIAL VARIABLES ↑-CEXPRS↑- AND
↑-DATUM↑- WHICH ARE AROUND WHEN IS IS READ BACK IN),
.SP
↑-(CDUMP(BULL1.CNV)DATUM)↑- WILL ONLY DUMP THE
METHODS AND DATUM.
.NF.NAJ
.UC
.SP
                                      JEFF JACOBS
.SP.UC
                                      U.C.I. 3-19-73